package com.dreams.dream.common.async.disruptor;

public interface EventResultHandler {

    /**
     * setup time out(MILLISECONDS) value for get a Event Result
     * 
     * @param timeoutforeturnResult
     *            MILLISECONDS
     */
    void setWaitforTimeout(int timeoutforeturnResult);

    /**
     * get a Event Result until time out value: setTimeoutforeturnResult(int
     * timeoutforeturnResult)
     * 
     * @return
     */
    Object get();

    /**
     * Blocking until get a Event Result
     * 
     * @return
     */
    Object getBlockedValue();

    void send(Object eventResult);

    void clear();

}
